#include "fifo.hpp"
#include "log.hpp"

int main()
{
    Init init;
    Log log;
    log.Enable(Classfile);

    cout << "server open fifo done" << endl;
    log(Info, "err string %s, err code: %d", strerror(errno), errno);

    // 打开文件并对其进行操作，这里已经默认创建出了管道文件
    int fd = open(FIFO_FILE, O_RDONLY);
    if (fd < 0)
    {
        log(Fatal, "err string %s, err code: %d", strerror(errno), errno);
        perror("open");
        exit(OPEN_FIFE_FRR);
    }

    while (true)
    {
        char buf[MAX_SIZE] = {0};
        int x = read(fd, buf, sizeof(buf));
        if (x > 0)
        {
            buf[x] = 0;
            cout << "@client say: " << buf << endl;
        }
        else if (x == 0)
        {
            log(Debug, "client close, me too! err string %s, err code: %d", strerror(errno), errno);
            break;
        }
        else
        {
            log(Error, "err string %s, err code: %d", strerror(errno), errno);
            break;
        }
    }

    close(fd);

    return 0;
}